package orbitPrototype.objects;

/**
 * Description:	Base objects for ALL objects to be drawn on screen.
 * 
 * @author Drapan
 *
 */
public class DisplayObject
{
	private int _x = 0;
	private int _y = 0;
	private int _width = 0;
	private int _height = 0;
	private Boolean _visible = true;
	private Boolean _attached = false;
	private int _graphicsType = 0;
	private DisplayObjectContainer _parentContainer = null;
	
	public static final int TYPE_NONE = 0;
	public static final int TYPE_CONTAINER = 1;
	public static final int TYPE_SHAPE = 2;
	public static final int TYPE_SPRITE = 3;
	
	public DisplayObject(int x, int y, int width, int height, int graphicsType)
	{
		_x = x;
		_y = y;
		_width = width;
		_height = height;
		_graphicsType = graphicsType;
	}
	
	/*
	 * SETTERS
	 */
	
	public void setX(int newValue)
	{
		_x = newValue; 
	}
	
	public void setY(int newValue)
	{
		_y = newValue; 
	}	
	
	public void setWidth(int newValue)
	{
		_width = newValue; 
	}	
	
	public void setHeight(int newValue)
	{
		_height = newValue; 
	}
	
	public void setVisible(Boolean newValue)
	{
		_visible = newValue;
	}
	
	public void setAttached(Boolean newValue)
	{
		_attached = newValue;
	}
	
	public void setParent(DisplayObjectContainer newValue)
	{
		_parentContainer = newValue;
	}
	
	/*
	 * GETTERS
	 */
	
	public int getX()
	{
		return _x;
	}
	
	public int getY()
	{
		return _y;
	}
	
	public int getWidth()
	{
		return _width;
	}
	
	public int getHeight()
	{
		return _height;
	}
	
	public Boolean getVisible()
	{
		return _visible;
	}
	
	public Boolean getAttached()
	{
		return _attached;
	}
	
	public int getGraphicsType()
	{
		return _graphicsType;
	}
	
	public DisplayObjectContainer getParentContainer()
	{
		return _parentContainer;
	}
}
